package com.bpmn.system.domain.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author rain
 */
@Data
@Schema(description = "应用信息VO")
public class ApiKeyDataVo {

    /**
     * 主键ID
     */
    @Schema(description = "主键ID")
    private Long id;

    /**
     * 标题
     */
    @Schema(description = "标题")
    private String title;

    /**
     * 简介
     */
    @Schema(description = "简介")
    private String intro;

    /**
     * API Key
     */
    @Schema(description = "API Key")
    private String apiKey;

    /**
     * 登录ID
     */
    @Schema(description = "登录ID")
    private String loginId;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 过期时间
     */
    @Schema(description = "过期时间")
    private Date expiresTime;

    /**
     * 是否有效
     */
    @Schema(description = "是否有效")
    private Boolean isValid = true;

    /**
     * 权限范围
     */
    @Schema(description = "权限范围")
    private List<String> scopes = new ArrayList<>();

    /**
     * 额外数据
     */
    @Schema(description = "额外数据")
    private Map<String, Object> extraData;
} 